Prior 96w evaluation of TurboCapture-Seq v2 showed low UMIs recovered and high seq saturation. I did low throughput troubleshooting and didn’t see any issues. Process this experiment myself taking care to remove residual liquids from wash steps.
Process Hui Shi of Naik lab Flt3 stimulated DC timecourse. Includes a few of my samples.
Samples
SCE object in generate in 1A_generateSCE notebook.
Plot the QC metrics.
Plot on plate map Orientation is correct as low counts are where the no template control should be
p1 <- platetools::raw_map(data=tb$Cell_number,
well=tb$Well,
plate=96) + ggtitle("Cell input number")
p2 <- platetools::raw_map(data=log(tb$sum+1),
well=tb$Well,
plate=96) + ggtitle("Log library size")
p1 / p2Remove NA samples
Well under 1 million counts which is the UMI n = 10 length. We are within the dynamic range of the assay.
Look at the individual genes
plotExpression(sce, features = c("Gm10076", "Tmsb10", "Rps3", "Fau"), colour_by = "Ligand", exprs_values = "counts") +
theme_Publication() + scale_colour_Publication()The text represents the timepoint. No clear pattern to me except maybe the genotype.
plt1 <- ggplot(tb,
aes(x = Cell_type, y= sum, colour = Genotype, label = Timepoint_Day, shape=Ligand)) +
geom_text() +
ylab("Library Size (UMIs)") +
xlab("Lysis buffer") +
scale_y_continuous(trans='log10') +
annotation_logticks(base = 10, sides = "l") +
scale_fill_brewer(palette = "Dark2")
plt1Library size in deduplicated UMIs
plt2 <- ggplot(tb,
aes(x = Cell_type, y= sum, colour = Genotype, label = Timepoint_Day, shape=Ligand)) +
geom_text() +
ylab("Library Size (UMIs)") +
xlab("Lysis buffer") +
scale_fill_brewer(palette = "Dark2")
plt2Library size in deduplicated UMIs
plt3 <- ggplot(tb,
aes(x = Cell_type, y= detected, colour = Genotype, label = Timepoint_Day, shape=Ligand)) +
geom_text() +
ylab("Genes detected") +
xlab("Lysis buffer") +
scale_fill_brewer(palette = "Dark2")
plt3Number of detected genes
Not much pattern here except HEKs and PBMCs from me. Fewer genes detected across comparable UMIs.
plt4 <- ggplot(tb,
aes(x = detected+1, y= sum+1, colour = Cell_type, label=Well)) +
geom_text() +
ylab("Library size (UMIs)") +
xlab("Genes detected") +
scale_y_continuous(trans='log10') + scale_x_continuous(trans='log10') +
annotation_logticks(base = 10, sides = "bl")
plt4UMIs versus genes
Very low percentage for everything. Cell health looks good.
plt5 <- ggplot(tb,
aes(x = Cell_type, y= subsets_Mito_percent, colour = Genotype, label = Timepoint_Day, shape=Ligand)) +
geom_text() +
ylab("Percent mouse mitochondrial genes") +
xlab("Lysis buffer") +
scale_fill_brewer(palette = "Dark2")
plt5Percent mouse mitochondrial counts in library
Quality of the sample looks good to me. Will further check by clustering samples
## R version 4.4.0 (2024-04-24)
## Platform: x86_64-pc-linux-gnu
## Running under: CentOS Linux 7 (Core)
##
## Matrix products: default
## BLAS: /stornext/System/data/apps/R/R-4.4.0/lib64/R/lib/libRblas.so
## LAPACK: /stornext/System/data/apps/R/R-4.4.0/lib64/R/lib/libRlapack.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Australia/Melbourne
## tzcode source: system (glibc)
##
## attached base packages:
## [1] grid stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] scales_1.3.0 ggthemes_5.1.0
## [3] here_1.0.1 patchwork_1.2.0
## [5] platetools_0.1.7 scater_1.32.0
## [7] scuttle_1.14.0 lubridate_1.9.3
## [9] forcats_1.0.0 stringr_1.5.1
## [11] dplyr_1.1.4 purrr_1.0.2
## [13] readr_2.1.5 tidyr_1.3.1
## [15] tibble_3.2.1 ggplot2_3.5.1
## [17] tidyverse_2.0.0 SingleCellExperiment_1.26.0
## [19] SummarizedExperiment_1.34.0 Biobase_2.64.0
## [21] GenomicRanges_1.56.0 GenomeInfoDb_1.40.0
## [23] IRanges_2.38.0 S4Vectors_0.42.0
## [25] BiocGenerics_0.50.0 MatrixGenerics_1.16.0
## [27] matrixStats_1.3.0
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.2.1 viridisLite_0.4.2
## [3] farver_2.1.2 vipor_0.4.7
## [5] viridis_0.6.5 fastmap_1.2.0
## [7] digest_0.6.35 rsvd_1.0.5
## [9] timechange_0.3.0 lifecycle_1.0.4
## [11] magrittr_2.0.3 compiler_4.4.0
## [13] rlang_1.1.3 sass_0.4.9
## [15] tools_4.4.0 utf8_1.2.4
## [17] yaml_2.3.8 knitr_1.46
## [19] labeling_0.4.3 S4Arrays_1.4.0
## [21] DelayedArray_0.30.1 RColorBrewer_1.1-3
## [23] abind_1.4-5 BiocParallel_1.38.0
## [25] withr_3.0.0 fansi_1.0.6
## [27] beachmat_2.20.0 colorspace_2.1-0
## [29] cli_3.6.2 rmarkdown_2.26
## [31] crayon_1.5.2 generics_0.1.3
## [33] rstudioapi_0.16.0 httr_1.4.7
## [35] tzdb_0.4.0 DelayedMatrixStats_1.26.0
## [37] ggbeeswarm_0.7.2 cachem_1.1.0
## [39] zlibbioc_1.50.0 parallel_4.4.0
## [41] XVector_0.44.0 vctrs_0.6.5
## [43] Matrix_1.7-0 jsonlite_1.8.8
## [45] BiocSingular_1.20.0 hms_1.1.3
## [47] BiocNeighbors_1.22.0 ggrepel_0.9.5
## [49] irlba_2.3.5.1 beeswarm_0.4.0
## [51] jquerylib_0.1.4 glue_1.7.0
## [53] codetools_0.2-20 cowplot_1.1.3
## [55] stringi_1.8.4 gtable_0.3.5
## [57] UCSC.utils_1.0.0 ScaledMatrix_1.12.0
## [59] munsell_0.5.1 pillar_1.9.0
## [61] htmltools_0.5.8.1 GenomeInfoDbData_1.2.12
## [63] R6_2.5.1 sparseMatrixStats_1.16.0
## [65] rprojroot_2.0.4 evaluate_0.23
## [67] lattice_0.22-6 highr_0.10
## [69] bslib_0.7.0 Rcpp_1.0.12
## [71] gridExtra_2.3 SparseArray_1.4.3
## [73] xfun_0.44 pkgconfig_2.0.3